Using Helm
This guide describes how to install Zadig using Helm, suitable for production environments.
# Resource Preparation
- Kubernetes cluster, version v1.16+, recommended 8C16G, admin privileges
Zadig itself consumes 4C8G and supports two concurrent workflow tasks
- Helm tool, version v3.5+ (download here(opens new window))
- Network:
- For IP+Port access, ensure cluster nodes have external IPs
- For domain access, prepare a valid domain and direct traffic to the gateway-proxy service
Tip
- If you use built-in storage components (MySQL/MongoDB/MinIO), configure the default StorageClass in Kubernetes for PVC persistence before installation
- Some cluster network plugins may prevent Service backend Pods from self-access; please verify in advance
- Configure kube-dns to ensure name-based addressing between services and Pods
# Installation
Use the official installation assistant(opens new window) for one-click installation. For detailed parameters, see Chart Parameter List.
Installation time depends on hardware and network. Use
kubectl -n {Namespace} get podto check service status; all RUNNING means success.
Tip
See License for license setup.
# Upgrade
To upgrade Zadig, follow these steps:
# Step 1: Confirm Version
- Confirm the current and target Zadig versions. Do not skip versions; upgrade step by step.
Use
helm list -n {Namespace}to check the current version.
# Step 2: Backup Data and Parameters
- See Backup Data
- Backup parameters:
helm get values -n {Namespace} {ReleaseName} > zadig.yaml
# Step 3: Perform the Upgrade
- Do not use Zadig during the upgrade
- Upgrade command:
helm repo add koderover-chart https://koderover.tencentcloudcr.com/chartrepo/chart helm repo update helm upgrade {releaseName} -n {Namespace} --version=4.1.0 koderover-chart/zadig -f zadig.yaml1
2
3
# Step 4: Upgrade Check
Check the following to verify the upgrade:
- Account login works
- Project/environment/service/integration data is normal
- Environment and service data display correctly
- Product/custom workflows (if any) run normally
# Uninstall
- Uninstalling Zadig does not delete environments, services, etc. created by Zadig; clean up manually if needed
- Uninstall command:
helm uninstall {ReleaseName} -n {Namespace}1
# Zadig Chart Parameter List
Zadig Chart includes MySQL, MongoDB, and MinIO. You can choose whether to install these components as needed.
# Gateway Proxy Parameters
| Key | Description | Value Example | Default Value |
|---|---|---|---|
| gloo.gatewayProxies.gatewayProxy.service.type | The exposure method of the Gateway Proxy service, options include LoadBalancer, NodePort, and ClusterIP | LoadBalancer | LoadBalancer |
# MongoDB Parameters
- Connection parameters
| Key | Description | Value Example | Default Value |
|---|---|---|---|
| connections.mongodb.connectionString | MongoDB connection string | mongodb://root:zadig@kr-mongodb:27017 | mongodb://root:zadig@kr-mongodb:27017 |
| connections.mongodb.db | The DB used by Zadig for MongoDB | zadig | zadig |
| ee.mongodb.enableTransaction | Whether to enable transaction functionality. The actual effectiveness of transactions depends on the MongoDB version and installation method. Refer to the official MongoDB documentation for more information | false | false |
| ee.mongodb.db | The DB used by Zadig for delivery and deployment components, which must not be the same as the value of connections.mongodb.db | plutus_zadig | plutus_zadig |
- Built-in MongoDB Installation Parameters
| Key | Description | Value Example | Default Value |
|---|---|---|---|
| tags.mongodb | Whether to install the built-in MongoDB | true | true |
| mongodb.persistence.enabled | MongoDB persistence switch | true | true |
| mongodb.persistence.size | MongoDB storage space size | 20 Gi | 20 Gi |
| mongodb.rootPassword | Built-in MongoDB root user password | zadig | nil |
| mongodb.persistence.existingClaim | If the installed MongoDB needs to use an existing PVC, use this field to specify the Claim Name | myclaim | nil |
- External MongoDB (version 4.4+)
| Key | Description | Value Example | Default Value |
|---|---|---|---|
| tags.mongodb | Whether to install the built-in MongoDB | false | true |
| connections.mongodb.connectionString | The connection string for the Zadig system's business database, escape special characters if multiple addresses are configured | mongodb://user:password @8.10.20.20\,8.10.20.30 | mongodb://zadig-mongodb:27017 |
| connections.mongodb.db | The default DB used by the Zadig system | zadig | zadig |
| ee.mongodb.db | The DB used by Zadig for delivery and deployment components, which must not be the same as the value of connections.mongodb.db | plutus_zadig | plutus_zadig |
# MinIO Parameters
Tip
If you have your own S3 object storage, you can skip MinIO. See Object Storage.
- Built-in MinIO Installation Parameters
| Key | Description | Value Example | Default Value |
|---|---|---|---|
| tags.minio | Whether to install the built-in MinIO | true | true |
| minio.persistence.enabled | MinIO object storage persistence switch | true | true |
| minio.persistence.size | MinIO storage space size | 20 Gi | 20 Gi |
| minio.persistence.storageClass | The Storage Class used by MinIO's PVC. If persistence is enabled and no Storage Class or existingClaim is provided, the default Storage Class of the cluster will be used. If the cluster does not have a default Storage Class, the installation will fail. | storage_class | nil |
| minio.persistence.existingClaim | If the installed MinIO needs to use an existing PVC, use this field to specify the Claim Name | my_pvc | nil |
# MySQL Parameters
- Connection parameters
| Key | Description | Value Example | Default Value |
|---|---|---|---|
| connections.mysql.host | MySQL connection information | kr-mysql:3306 | kr-mysql:3306 |
| connections.mysql.auth.user | MySQL username | root | root |
| connections.mysql.auth.password | MySQL password | zadig | zadig |
| connections.mysql.db.user | The DB used by the Zadig user system | user | user |
| connections.mysql.db.dex | The DB used by the Zadig third-party connector Dex | dex | dex |
| dex.config.storage.config.database | The DB used by the Dex system, which must be the same as the value of connections.mysql.db.dex | dex | dex |
| dex.config.storage.config.host | The MySQL Host used by the Dex system | zadig-mysql | zadig-mysql |
| dex.config.storage.config.port | The MySQL port used by the Dex system | 3306 | 3306 |
| dex.config.storage.config.user | The MySQL username used by the Dex system | root | root |
| dex.config.storage.config.password | The MySQL password used by the Dex system | zadig | zadig |
- Built-in MySQL Installation Parameters
| Key | Description | Value Example | Default Value |
|---|---|---|---|
| tags.mysql | Whether to install the built-in MySQL | true | true |
| mysql.rootPassword | MySQL password | zadig | zadig |
| mysql.persistence.enabled | Whether to enable persistent storage | true | true |
| mysql.persistence.size | The size of the persistent storage PVC | 20Gi | 20Gi |
If you use own MySQL
Before installing the Zadig system, manually create the Database specified by connections.mysql.db.dex to ensure the normal installation of the Zadig system
# Other Parameters
| Key | Description | Example | Default |
|---|---|---|---|
| kubernetes.server | Kubernetes API Server address | https://10.0.0.1:6443 | nil |
| gloo.k8s.clusterName | Cluster name | cluster.local | cluster.local |
| protocol | Access protocol | https | http |


